Heretofore, management and configuration of storage device controllers, such as Redundant Array of Independent Disk (RAID) storage sub-system controllers, for complex server systems has been a difficult and frequently operator intensive task. For example, in the exemplary server system 102 configuration of FIG. 1, a client computer 104 is attached to a wide area network 106 or to a local area network 108, which is also attached to a variety of server systems 110, each attached to storage devices 112. In the system of FIG. 1, four servers (first server 110-1, second server 110-2, third server 110-3, and fourth server 110-4) are specifically illustrated; however, it should be clear that an arbitrary number of servers 110 may be provided, for example, N servers may be provided and configured into the system 102 along with any attached storage devices or storage subsystems 112. Server 110-1 is coupled to storage array 112-1 via a first array controller 116-1 over fibre-channel arbitrated loop (FC-AL) 120-1, server 110-2 is coupled to a plurality of storage devices 112-2 over a second fibre-channel arbitrated loop 120-2, and third server 110-3 and fourth server 110-4 are coupled to storage area network (SAN) including third storage subsystem 112-3 and fourth storage subsystem 112-4 controlled respectively by second array controller 116-2 and third array controller 116-3 as well as storage area network 118.
It is noted that server three 110-3 is attached to a storage area network 118, and has another server (server 110-4) attached in addition to storage devices 112-3, 112-4. In this example, all of the storage devices are attached via a Fibre Channel Arbitrated Loop (FC-AL), although other connection structures, protocols, and methods may be used, including for example parallel SCSI.
Client computer 104 is used to run the client software program 122 for performing and managing the configuration information for some and desirably all of the array controllers 116 in this exemplary system 102. This client software program 122 is typically stored in a memory and executed in a processor or CPU of the client computer, where execution allows a disk array or other storage subsystem (such as one of disk arrays 112-1, 112-2, 112-3, or 112-4) to be identified, selected, and managed.
Management functions may include for example, the configuration of storage attached to the array, and special protocol or hardware parameters, fibre channel settings and or addresses, and communication of exceptional events such as for example, disk failure, environmental problems, or the like) back to the client computer 104. A human operator 124 (identified but not part of the system) must program the client software 122 with specific information about the path from each array controller 116 to each server 110. In conventional systems, this mapping is currently accomplished by using either the SCSI ID or addresses 128 or the fibre channel ID or address 130 of each storage device, or by the device's World Wide Number (WWN) 132 which is unique for each fibre channel device manufactured. This is the address of the array controller 116, not the disks attached to the array 112. The array controller organizes the disks and presents them to the servers 110 under a different address. SCSI addresses 128, fibre channel addresses 130, and World Wide Number (WWN) 132 are known in the art, and not described in greater detail here.
Unfortunately, although conventional structures and methods for configuring and managing the system 102 and its components arguably provide acceptable performance, such conventional structures and methods using manual procedures, SCSI addresses or IDs 128, fibre channel addresses or IDs 130, and World Wide Number (WWN) 132 in the manner described, have problems and sever limitations. Finally, a WWN consists of 16 characters and it is frequently difficult or time consuming to determine the WWN of a disk or array controller simply by visual inspection, depending on the labeling of the storage device. The storage devices may be installed in a larger geographically diverse subsystem, making visual identification impossible.
For example, when SCSI IDs 128 or fibre channel IDs 130 are used, the SCSI ID or Fibre Channel ID of a device (such as of the disk array controllers 116 or disk drives 112-2) can change whenever the system configuration is changed. Any time a device is added or removed from a fibre channel arbitrated loop 120, all fibre channel loop addresses are renegotiated by the fibre channel loop initiators (for example, the servers 110), which may result in a device having a new ID, different from its ID prior to negotiation.
In any event, with any of the afore described addressing or identification schemes, the human operator 124 typically must manually collect the data before the computer can proceed. This can be a daunting task, especially when the storage network is large, or geographically distributed locations.
Therefore there remains a need for a method that overcomes these problems and limitations. In one aspect, the invention eliminates the need for visual inspection of the storage devices. It also eliminates the cumbersome and error prone approach of manually collecting and entering numbers for device addresses. Thus, the invention collects data and other information about the storage systems more quickly and with less errors than is possible using conventional manual approaches.